+2004-03-05 Tor Lillqvist <tml@iki.fi>
+
+ * gdk/gdk.def: Add missing entries, thanks to J. Ali Harlow.
+
+ * gdk/win32/gdkcursor-win32.c (color_is_white): const-correctness.
+
+ (gdk_cursor_new_from_pixbuf): Copy of the non-Xcursor X11
+ implementation.
+
+ (gdk_display_supports_cursor_alpha,
+ gdk_display_supports_cursor_color): Dummy implementations.
+
+ (gdk_display_get_default_cursor_size,
+ gdk_display_get_maximal_cursor_size): Implement.
+
+ * gdk/win32/gdkdisplay-win32.c (gdk_display_get_default_group):
+ Dummy implementation.
+
+ * gdk/win32/gdkevents-win32.c (gdk_net_wm_supports): Dummy
+ implementation.
+
+ * gdk/win32/gdkfont-win32.c (gdk_font_get_display): Implement.
+
+ * gdk/win32/gdkinput-win32.c (gdk_input_motion_events): Remove,
+ not in API.
+
+ * gdk/win32/gdkwindow-win32.c (gdk_window_get_group): Dummy
+ implementation.
+
Fri Mar 5 18:00:36 2004 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkfilechooserdefault.c (new_folder_button_clicked): scroll
+2004-03-05 Tor Lillqvist <tml@iki.fi>
+
+ * gdk/gdk.def: Add missing entries, thanks to J. Ali Harlow.
+
+ * gdk/win32/gdkcursor-win32.c (color_is_white): const-correctness.
+
+ (gdk_cursor_new_from_pixbuf): Copy of the non-Xcursor X11
+ implementation.
+
+ (gdk_display_supports_cursor_alpha,
+ gdk_display_supports_cursor_color): Dummy implementations.
+
+ (gdk_display_get_default_cursor_size,
+ gdk_display_get_maximal_cursor_size): Implement.
+
+ * gdk/win32/gdkdisplay-win32.c (gdk_display_get_default_group):
+ Dummy implementation.
+
+ * gdk/win32/gdkevents-win32.c (gdk_net_wm_supports): Dummy
+ implementation.
+
+ * gdk/win32/gdkfont-win32.c (gdk_font_get_display): Implement.
+
+ * gdk/win32/gdkinput-win32.c (gdk_input_motion_events): Remove,
+ not in API.
+
+ * gdk/win32/gdkwindow-win32.c (gdk_window_get_group): Dummy
+ implementation.
+
Fri Mar 5 18:00:36 2004 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkfilechooserdefault.c (new_folder_button_clicked): scroll
+2004-03-05 Tor Lillqvist <tml@iki.fi>
+
+ * gdk/gdk.def: Add missing entries, thanks to J. Ali Harlow.
+
+ * gdk/win32/gdkcursor-win32.c (color_is_white): const-correctness.
+
+ (gdk_cursor_new_from_pixbuf): Copy of the non-Xcursor X11
+ implementation.
+
+ (gdk_display_supports_cursor_alpha,
+ gdk_display_supports_cursor_color): Dummy implementations.
+
+ (gdk_display_get_default_cursor_size,
+ gdk_display_get_maximal_cursor_size): Implement.
+
+ * gdk/win32/gdkdisplay-win32.c (gdk_display_get_default_group):
+ Dummy implementation.
+
+ * gdk/win32/gdkevents-win32.c (gdk_net_wm_supports): Dummy
+ implementation.
+
+ * gdk/win32/gdkfont-win32.c (gdk_font_get_display): Implement.
+
+ * gdk/win32/gdkinput-win32.c (gdk_input_motion_events): Remove,
+ not in API.
+
+ * gdk/win32/gdkwindow-win32.c (gdk_window_get_group): Dummy
+ implementation.
+
Fri Mar 5 18:00:36 2004 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkfilechooserdefault.c (new_folder_button_clicked): scroll
+2004-03-05 Tor Lillqvist <tml@iki.fi>
+
+ * gdk/gdk.def: Add missing entries, thanks to J. Ali Harlow.
+
+ * gdk/win32/gdkcursor-win32.c (color_is_white): const-correctness.
+
+ (gdk_cursor_new_from_pixbuf): Copy of the non-Xcursor X11
+ implementation.
+
+ (gdk_display_supports_cursor_alpha,
+ gdk_display_supports_cursor_color): Dummy implementations.
+
+ (gdk_display_get_default_cursor_size,
+ gdk_display_get_maximal_cursor_size): Implement.
+
+ * gdk/win32/gdkdisplay-win32.c (gdk_display_get_default_group):
+ Dummy implementation.
+
+ * gdk/win32/gdkevents-win32.c (gdk_net_wm_supports): Dummy
+ implementation.
+
+ * gdk/win32/gdkfont-win32.c (gdk_font_get_display): Implement.
+
+ * gdk/win32/gdkinput-win32.c (gdk_input_motion_events): Remove,
+ not in API.
+
+ * gdk/win32/gdkwindow-win32.c (gdk_window_get_group): Dummy
+ implementation.
+
Fri Mar 5 18:00:36 2004 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkfilechooserdefault.c (new_folder_button_clicked): scroll
+2004-03-05 Tor Lillqvist <tml@iki.fi>
+
+ * gdk/gdk.def: Add missing entries, thanks to J. Ali Harlow.
+
+ * gdk/win32/gdkcursor-win32.c (color_is_white): const-correctness.
+
+ (gdk_cursor_new_from_pixbuf): Copy of the non-Xcursor X11
+ implementation.
+
+ (gdk_display_supports_cursor_alpha,
+ gdk_display_supports_cursor_color): Dummy implementations.
+
+ (gdk_display_get_default_cursor_size,
+ gdk_display_get_maximal_cursor_size): Implement.
+
+ * gdk/win32/gdkdisplay-win32.c (gdk_display_get_default_group):
+ Dummy implementation.
+
+ * gdk/win32/gdkevents-win32.c (gdk_net_wm_supports): Dummy
+ implementation.
+
+ * gdk/win32/gdkfont-win32.c (gdk_font_get_display): Implement.
+
+ * gdk/win32/gdkinput-win32.c (gdk_input_motion_events): Remove,
+ not in API.
+
+ * gdk/win32/gdkwindow-win32.c (gdk_window_get_group): Dummy
+ implementation.
+
Fri Mar 5 18:00:36 2004 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkfilechooserdefault.c (new_folder_button_clicked): scroll
gdk_cursor_get_type
gdk_cursor_new
gdk_cursor_new_for_display
+ gdk_cursor_new_from_pixbuf
gdk_cursor_new_from_pixmap
gdk_cursor_ref
gdk_cursor_type_get_type
gdk_display_flush
gdk_display_get_core_pointer
gdk_display_get_default
+ gdk_display_get_default_cursor_size
+ gdk_display_get_default_group
gdk_display_get_default_screen
gdk_display_get_event
+ gdk_display_get_maximal_cursor_size
gdk_display_get_n_screens
gdk_display_get_name
gdk_display_get_pointer
gdk_display_set_double_click_distance
gdk_display_set_double_click_time
gdk_display_set_pointer_hooks
+ gdk_display_supports_cursor_alpha
+ gdk_display_supports_cursor_color
gdk_display_sync
gdk_drag_abort
gdk_drag_action_get_type
gdk_draw_string
gdk_draw_text
gdk_draw_text_wc
+ gdk_drawable_copy_to_image
gdk_drawable_get_clip_region
gdk_drawable_get_colormap
gdk_drawable_get_data
gdk_font_equal
gdk_font_from_description
gdk_font_from_description_for_display
+ gdk_font_get_display
gdk_font_get_type
gdk_font_id
gdk_font_load
gdk_input_add_full
gdk_input_condition_get_type
gdk_input_mode_get_type
- gdk_input_motion_events
gdk_input_remove
gdk_input_set_extension_events
gdk_input_source_get_type
gdk_list_visuals
gdk_mbstowcs
gdk_modifier_type_get_type
+ gdk_net_wm_supports
gdk_notify_startup_complete
gdk_notify_type_get_type
gdk_overlap_type_get_type
gdk_set_use_xshm
gdk_setting_action_get_type
gdk_setting_get
+ gdk_spawn_command_line_on_screen
+ gdk_spawn_on_screen
+ gdk_spawn_on_screen_with_pipes
gdk_status_get_type
gdk_string_extents
gdk_string_height
gdk_threads_enter
gdk_threads_init
gdk_threads_leave
+ gdk_threads_lock
gdk_threads_mutex
+ gdk_threads_set_lock_functions
+ gdk_threads_unlock
gdk_unicode_to_keyval
gdk_utf8_to_compound_text
gdk_utf8_to_compound_text_for_display
gdk_window_get_events
gdk_window_get_frame_extents
gdk_window_get_geometry
+ gdk_window_get_group
gdk_window_get_internal_paint_info
gdk_window_get_origin
gdk_window_get_parent
*/
#include "gdkdisplay.h"
+#include "gdkscreen.h"
#include "gdkcursor.h"
#include "gdkprivate-win32.h"
}
static gboolean
-color_is_white (GdkColor *color)
+color_is_white (const GdkColor *color)
{
return (color->red == 0xFFFF
&& color->green == 0xFFFF
{
return gdk_display_get_default ();
}
+
+GdkCursor *
+gdk_cursor_new_from_pixbuf (GdkDisplay *display,
+ GdkPixbuf *pixbuf,
+ gint x,
+ gint y)
+{
+ /* FIXME: Use alpha if supported */
+
+ GdkCursor *cursor;
+ GdkPixmap *pixmap, *mask;
+ guint width, height, n_channels, rowstride, i, j;
+ guint8 *data, *mask_data, *pixels;
+ GdkColor fg = { 0, 0, 0, 0 };
+ GdkColor bg = { 0, 0xffff, 0xffff, 0xffff };
+ GdkScreen *screen;
+
+ g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);
+ g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL);
+
+ width = gdk_pixbuf_get_width (pixbuf);
+ height = gdk_pixbuf_get_height (pixbuf);
+
+ g_return_val_if_fail (0 <= x && x < width, NULL);
+ g_return_val_if_fail (0 <= y && y < height, NULL);
+
+ n_channels = gdk_pixbuf_get_n_channels (pixbuf);
+ rowstride = gdk_pixbuf_get_rowstride (pixbuf);
+ pixels = gdk_pixbuf_get_pixels (pixbuf);
+
+ data = g_new0 (guint8, (width + 7) / 8 * height);
+ mask_data = g_new0 (guint8, (width + 7) / 8 * height);
+
+ for (j = 0; j < height; j++)
+ {
+ guint8 *src = pixels + j * rowstride;
+ guint8 *d = data + (width + 7) / 8 * j;
+ guint8 *md = mask_data + (width + 7) / 8 * j;
+
+ for (i = 0; i < width; i++)
+ {
+ if (src[1] < 0x80)
+ *d |= 1 << (i % 8);
+
+ if (n_channels == 3 || src[3] >= 0x80)
+ *md |= 1 << (i % 8);
+
+ src += n_channels;
+ if (i % 8 == 7)
+ {
+ d++;
+ md++;
+ }
+ }
+ }
+
+ screen = gdk_display_get_default_screen (display);
+ pixmap = gdk_bitmap_create_from_data (gdk_screen_get_root_window (screen),
+ data, width, height);
+
+ mask = gdk_bitmap_create_from_data (gdk_screen_get_root_window (screen),
+ mask_data, width, height);
+
+ cursor = gdk_cursor_new_from_pixmap (pixmap, mask, &fg, &bg, x, y);
+
+ g_object_unref (pixmap);
+ g_object_unref (mask);
+
+ g_free (data);
+ g_free (mask_data);
+
+ return cursor;
+}
+
+gboolean
+gdk_display_supports_cursor_alpha (GdkDisplay *display)
+{
+ g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE);
+
+ /* FIXME */
+ return FALSE;
+}
+
+gboolean
+gdk_display_supports_cursor_color (GdkDisplay *display)
+{
+ g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE);
+
+ /* FIXME */
+ return FALSE;
+}
+
+guint
+gdk_display_get_default_cursor_size (GdkDisplay *display)
+{
+ g_return_val_if_fail (GDK_IS_DISPLAY (display), 0);
+
+ return MIN (GetSystemMetrics (SM_CXCURSOR), GetSystemMetrics (SM_CYCURSOR));
+}
+
+void
+gdk_display_get_maximal_cursor_size (GdkDisplay *display,
+ guint *width,
+ guint *height)
+{
+ g_return_if_fail (GDK_IS_DISPLAY (display));
+
+ if (width)
+ *width = GetSystemMetrics (SM_CXCURSOR);
+ if (height)
+ *height = GetSystemMetrics (SM_CYCURSOR);
+}
return _gdk_screen;
}
+GdkWindow *
+gdk_display_get_default_group (GdkDisplay *display)
+{
+ g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);
+
+ g_warning ("gdk_display_get_default_group not yet implemented");
+
+ return NULL;
+}
/* Nothing */
}
+
+gboolean
+gdk_net_wm_supports (GdkAtom property)
+{
+ return FALSE;
+}
if (descent)
*descent = font->descent + 1;
}
+
+GdkDisplay*
+gdk_font_get_display (GdkFont* font)
+{
+ return _gdk_display;
+}
*y_ret = rect.top;
}
-GdkTimeCoord *
-gdk_input_motion_events (GdkWindow *window,
- guint32 deviceid,
- guint32 start,
- guint32 stop,
- gint *nevents_return)
-{
- g_return_val_if_fail (window != NULL, NULL);
- if (GDK_WINDOW_DESTROYED (window))
- return NULL;
-
- *nevents_return = 0;
- return NULL; /* ??? */
-}
-
void
_gdk_input_configure_event (GdkWindow *window)
{
API_CALL (SetWindowText, (GDK_WINDOW_HWND (window), name));
}
+GdkWindow *
+gdk_window_get_group (GdkWindow *window)
+{
+ g_return_val_if_fail (GDK_IS_WINDOW (window), NULL);
+ g_return_val_if_fail (GDK_WINDOW_TYPE (window) != GDK_WINDOW_CHILD, NULL);
+
+ if (GDK_WINDOW_DESTROYED (window))
+ return NULL;
+
+ g_warning ("gdk_window_get_group not yet implemented");
+
+ return NULL;
+}
+
void
gdk_window_set_group (GdkWindow *window,
GdkWindow *leader)